﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace colas
{
    class EventoFinConsumicion : IEvento
    {
        public gridline llenarLinea(gridline linea_anterior)
        {            
            gridline linea_actual = new gridline(linea_anterior);
            linea_actual.Reloj = linea_anterior.prox_cli_fin_comsumicion.finComsumicion;
            linea_anterior.prox_cli_fin_comsumicion.finComsumicion = -1;
            linea_anterior.prox_cli_fin_comsumicion.rndCliente = -1;
            linea_actual.evento = (int)Utils.eventos.FIN_CONSUMICION_PEDIDO;

            bool encontrado = false;
            foreach (Cliente c in gridline.clientes)
            {
                if (c.estado == (int)Utils.cliente.CONSUMIENDO)
                {
                    if (!encontrado)
                    {
                        c.estado = (int)Utils.cliente.DESTRUCCION;
                        c.horaSalida = linea_actual.Reloj;
                        linea_actual.acumulador_permanencia += (c.horaSalida - c.horaEntrada);
                        encontrado = true;
                    }
                }
            }
            linea_actual.contador_personas = linea_anterior.contador_personas++;
            return linea_actual;              
        }
    }
}
